#coding:utf-8
class A(object):

    def __init__(self):
        self.a = 2
        self.b = 3
        self.c = 4

    def getattrs(self,args=[]):
        '''
        获得对象属性,如果没有指定的属性列表 返回对象所有属性，如果指定了属性，返回对象指定的属性
        :param args: 
        :return: 
        '''
        # attrs = {}
        # if args:
        #     for arg in args:
        #         attrs[arg]= vars(self).get(arg,None) #None是默认值
        #     return  attrs
        # else:
        #     return vars(self)

        attrs = vars(self)
        if args:
            # return dict([(arg,attrs.get(arg)) for arg in args])#列表生成器
            return {arg:attrs.get(arg) for arg in args}
        else:
            return attrs
a = A()
print  a.getattrs(args=['a','x'])


import json
a = {'name':'wang','age':26}
b = json.dumps(a)
print b,type(b)